# -*- encoding=utf8 -*-

__author__ = "code哥"
import redis


def singleton(cls, *args, **kw):
    instances = {}

    def _singleton():
        if cls not in instances:
            instances[cls] = cls(*args, **kw)
        return instances[cls]

    return _singleton


@singleton
class RedisPool(object):

    def __init__(self):
        self.pool = redis.ConnectionPool(host='localhost', port=6379,
                                         decode_responses=True)

    def get_redis(self):
        return redis.Redis(connection_pool=self.pool)


def get_redis():
    return RedisPool().get_redis()


# redis存储所有图片地址
REDIS_LIST_KEY = 'rym.all_screenshots_list_img'
# redis存储APP执行时间
REDIS_APP_EXECUTION_TIME_KEY = 'rym.app_execution_time'
# redis存储当前正在执行的APP，APP开始时间，执行时长，结束时间
REDIS_APP_EXECUTION_CURRENT_INFO = 'rym.app_execution_current_info'
# redis存储下一天的启动时间
REDIS_NEXT_DAY_EXECUTION_TIME = 'rym.next_day_execution_time'
# redis存储当前脚本执行的所有设备的健康状态
REDIS_SCRIPT_DEVICE_EXECUTION_HEALTH = 'rym.script_device_execution_health'
# redis存储当前运行日志
REDIS_APP_RUN_LOG = 'rym.app_run_log'
